/**
 * @copyright: Copyright (c) hotel.jd.com All Rights Reserved
 * @file: ExpediaHttpService.java project: trip-hotel-resource
 * @creator: zhangwansheng
 * @date: 2019/1/4
 */
package service;


import expedia.HotelInfoResponse;
import expedia.chain.ChainInfoResponse;
import expedia.region.RegionInfoResponse;

import java.util.Map;

/**
 * expedia接口调用接口
 * @author: zhangwansheng
 * @createdate: 2019-01-04 16:50
 * @lastdate:
 */
public interface ExpediaHttpService {

    /**
     * 调用接口获取expedia酒店中文信息
     * @author zhangwansheng4
     * @date 2019/1/4 18:40
     * @param hotelCode 酒店编码
     * @param options 可选字段【HOTEL_SUMMARY、HOTEL_DETAILS、SUPPLIERS、ROOM_TYPES、ROOM_AMENITIES、PROPERTY_AMENITIES、HOTEL_IMAGES】
     *         默认查全部
     * @return 接口报文
     */
    HotelInfoResponse getHotelInfoCN(String hotelCode, Map<String, String> options, String netPageUrl);

    /**
     * 调用接口获取expedia酒店英文信息
     * @author zhangwansheng4
     * @date 2019/1/4 18:40
     * @param hotelCode 酒店编码
     * @param options 可选字段【HOTEL_SUMMARY、HOTEL_DETAILS、SUPPLIERS、ROOM_TYPES、ROOM_AMENITIES、PROPERTY_AMENITIES、HOTEL_IMAGES】
     *         默认查全部
     * @return 接口报文
     */
    HotelInfoResponse getHotelInfoEN(String hotelCode, Map<String, String> options, String netPageUrl);

    /**
     * 区域所有信息查询
     * @param netPageUrl
     * @return 下一页url，首页时为空
     */
    RegionInfoResponse getHotelOfRegion(String netPageUrl, String locale, String include, Map<String, String> option);

    /**
     * 获取连锁品牌
     * @param option 可选参数
     * @return
     */
    ChainInfoResponse getChain(Map<String, String> option);
}
